@Lemon
2年前 提问
1个回答

HDFS分布式文件系统设计目标包括哪些

007bug
2年前

HDFS分布式文件系统设计目标包括以下这些:

  • 硬件错误:硬件错误是常态而不是异常。HDFS可能由成百上千的服务器构成,每个服务器上存储着文件系统的部分数据。我们面对的现实是构成系统的组件数目是巨大的,而且任一组件都有可能失效,这意味着总是有一部分HDFS的组件是不工作的。因此错误检测和快速、自动地恢复是HDFS最核心的架构目标。

  • 流式的访问数据:HDFS建立在这样一个思想上,即一次写入、多次读取模式是最高效的。这意味着一个数据集一旦由数据源生成,就会被复制分发到不同的存储节点中,然后响应各种各样的数据分析任务请求。在多数情况下,分析任务都会涉及数据集中的大部分数据,也就是说,对HDFS来说,请求读取整个数据集要比读取一条记录更加高效。

  • 处理超大文件:这里的超大文件通常是指百MB、数百TB大小的文件。目前在实际应用中,HDFS已经能用来存储管理PB级的数据了。所以,HDFS被调整成支持大文件。它应该提供很高的聚合数据带宽,在一个集群中支持成百上千个节点,支持上亿级别的文件。

  • 简单一致性模型:大部分的HDFS程序对文件操作需要的是一次写入多次读取的操作模式。一个文件一旦创建、写入、关闭,就不需要修改了。这个假定简单化了数据一致性的问题并使高吞吐量的数据访问变得可能。

  • 移动计算比移动数据更经济:在靠近计算数据所存储的位置来进行计算是最理想的状态,尤其是在数据集特别巨大的时候。这样消除了网络的拥堵,提高了系统的整体吞吐量。一个假定就是迁移计算到离数据更近的位置比将数据移动到程序运行更近的位置要更好。HDFS提供了接口,来让程序自己移动到离数据存储更近的位置。

  • 异构软硬件平台间的可移植性:HDFS被设计成可以简便地实现平台间的迁移,这将推动需要大数据集的应用更广泛地采用HDFS作为平台。